﻿Imports System.ComponentModel

Public Class OLV_Item
    Inherits SFDL.File.FileInfo
    Implements System.ComponentModel.INotifyPropertyChanged

    Private _var_progress As Integer = 0
    Private _var_status_text As String = String.Empty
    Private _var_status As Status
    Private _var_download_speed As String = String.Empty
    Private _var_checked As Boolean = False
    Private _var_size_downloaded As Long = 0
    Private _var_sfdl_session_name As String = String.Empty
    Private _var_stopmark_set As Boolean = False
    Private _var_groupsortindicator As String = String.Empty
    Private _var_required_for_instant_video As Boolean = False
    Private _var_first_unrar_file As Boolean = False

    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

    Public Property RequiredForInstantVideo As Boolean
        Set(value As Boolean)
            _var_required_for_instant_video = value
        End Set
        Get
            Return _var_required_for_instant_video
        End Get
    End Property

    Public Property GroupSortIndicator As String
        Set(value As String)
            _var_groupsortindicator = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("GroupSortIndicator"))
        End Set
        Get
            Return _var_groupsortindicator
        End Get
    End Property

    Public Property Progress As Integer
        Set(value As Integer)
            _var_progress = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Progress"))
        End Set
        Get
            Return _var_progress
        End Get
    End Property

    Public Property StatusText As String
        Set(value As String)
            _var_status_text = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("StatusText"))
        End Set
        Get
            Return _var_status_text
        End Get
    End Property

    Public Property DownloadSpeed As String
        Set(value As String)
            _var_download_speed = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("DownloadSpeed"))
        End Set
        Get
            Return _var_download_speed
        End Get
    End Property

    Public Property Status As Status
        Set(value As Status)
            _var_status = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Status"))
        End Set
        Get
            Return _var_status
        End Get
    End Property

    Public Property Checked As Boolean
        Set(value As Boolean)
            _var_checked = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Checked"))
        End Set
        Get
            Return _var_checked
        End Get
    End Property

    Public Property SizeDownloaded As Long
        Set(value As Long)
            _var_size_downloaded = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("SizeDownloaded"))
        End Set
        Get
            Return _var_size_downloaded
        End Get
    End Property

    Public Property SFDLSessionName As String
        Set(value As String)
            _var_sfdl_session_name = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("SFDLSessionName"))
        End Set
        Get
            Return _var_sfdl_session_name
        End Get
    End Property

    Public Property StopMarkSet As Boolean
        Set(value As Boolean)
            _var_stopmark_set = value
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("StopMarkSet"))
        End Set
        Get
            Return _var_stopmark_set
        End Get
    End Property

    Public Property FirstUnRarFile As Boolean
        Set(value As Boolean)
            _var_first_unrar_file = value
        End Set
        Get
            Return _var_first_unrar_file
        End Get
    End Property

End Class